﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Data.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;
using Website.Logger;
using DAL;
using BOL;
using WebLib;
using System.Web.Script.Services;
using System.Web.Services;
using UtilityExtensions;
using System.Xml;
using System.Xml.Linq;
using System.Net;
using System.IO;
using System.Web.Script.Services;
using System.Web.Services;
using System.Text;


namespace UILGestion.Admin.Proveedor
{
    public partial class ProveedorEditForm : System.Web.UI.Page
    {
        public ProveedorEditForm()
        {
            bol = new ProveedorBL();
        }

        private ProveedorBL bol;

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                try
                {
                    type.Value = (string)Request.QueryString["type"];
                    internalid.Value = Request.Params["id"];
                    paginaAnt.Value = Page.Request.UrlReferrer.AbsoluteUri;
                    type.Value = type.Value==""?"A":type.Value;
                    menuCtrl1.loadMenuAdmin();
                    FormatForm();

                }
                catch (SqlException sqlex)
                {
                    WebServerSideSqlError.Log(sqlex);

                    ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                     "uniqueKey" + DateTime.Now, "alert('" + sqlex.Message.Replace("'", "") + "');", true);


                }
                catch (Exception ex)
                {
                    WebServerSideError.Log(ex);
                    ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                         "uniqueKey" + DateTime.Now, "alert('" + ex.Message.Replace("'", "") + "');", true);

                }

            }
        }


        private void Insert()
        {
            
            internalid.Value = bol.add(descripcionTextBox.Text, 
                                                  abreviacionTXT.Text,
                                                  Convert.ToChar(tipoProveedorDDL.SelectedValue),
                                                  Convert.ToChar(estadoDDL.SelectedValue),
                                                  apellidoPatTXT.Text,
                                                  apellidoMatTXT.Text,
                                                  Nombre1TXT.Text,
                                                  formaPagoDDL.SelectedValue.ToInt(),
                                                  emailTextBox.Text,
                                                  webTextBox.Text,
                                                  rucTextBox.Text,
                                                  contactoTextBox.Text,
                                                  tipoDocumentoDDL.SelectedValue.ToInt(),
                                                  documentoContactoTextBox.Text,
                                                  emailContactoTextBox.Text,
                                                  tipoDocContactoDDL.SelectedValue.ToInt(),
                                                  direccionOficinaTextBox.Text,
                                                  telefonoOficina1TextBox.Text,
                                                  telefonoOficina2TextBox1.Text,
                                                  distritoOficinaTextBox.Text,
                                                  anexoOficinaTextBox.Text,
                                                  faxOficinaTextBox.Text,
                                                  direciconDespTextBox.Text,
                                                  telefono1DespTextBox.Text,
                                                  telefono2DespTextBox.Text,
                                                  distritoDespTextBox.Text,
                                                  anexoDespTextBox.Text,
                                                  faxDespTextBox.Text,
                                               
                                                  ubigeoTXT.Text,
                                                  tipoAcreedorDDL.SelectedValue,
                                                  giroNegocioDDL.SelectedValue,
                                                  formaPagoGPDDL.SelectedValue,
                                                  clasificacionDDL.SelectedValue,
                                                  detraccionDDL.SelectedValue,
                                                  retencionDDL.SelectedValue,
                                                  monedaDDL.SelectedValue,
                                                  ImporteRendirTXT.Text.ToDecimal().Value,
                                                        areaContactoDDL.SelectedValue,
                                                        contactoPago.Text,
                                                    teleCuentaMNTXX.Text,
                                                    teleCuentaUSTXT.Text,
                                                    teleTipoProductoDDL.SelectedValue,
                                                    teleTipoDocDDL.SelectedValue,
                                                    teleNroDocTXT.Text,
                                                    teleCuentaInterBanTXT.Text,

                                                    interbankCuentaMNTXT.Text,
                                                    interbankCuentaUSTXT.Text,
                                                    InterbanktipoProductoDDL.SelectedValue,
                                                    interbankTipoBonoDDL.SelectedValue,
                                                    InterbankOficinaTXT.Text,
                                                    InterbanktipoDocDDL.SelectedValue,
                                                    interbankNroDocTXT.Text,
                                                    InterbankCuentaInterBankTXT.Text,


                                                    continentalCuentaMNTXT.Text,
                                                    continentalcuentaUSTXT.Text,
                                                    ContinentalformaPagoDDL.SelectedValue,
                                                    continentalTipoCuentaDDL.SelectedValue,
                                                    ContinentaltipoDocDDL.SelectedValue,
                                                    continentalNroDocTXT.Text,
                                                    continentalCuentaInterBanTXT.Text,
                                                    nacionCuentaDetraccionTXT.Text,
                                                    nacionCuentaInterbankTXT.Text, 
                                                    
                                                    scotiaCuentaMNTXT.Text,
                                                    scotiaCuentaUSTXT.Text,
                                                    scotiaCuentaInterBanTXT.Text,
                                                    scotiaFormaPagoDDL.SelectedValue
                                                    
                                                    ).ToString();

           //agregamos en el gespag
           // bol.AddGesPag(internalid.Value.ToInt());
           
        }

        private void Update()
        {
            //if (EsEmpresaCHK.SelectedValue == "1")
            //{
            //    int idUsuario = (int)Session["idEmpleado"];
                //ProveedorBL proveedor = new ProveedorBL();
                bool result = bol.updateProveedor(int.Parse(internalid.Value),
                                                  descripcionTextBox.Text,
                                                  abreviacionTXT.Text,
                                                  Convert.ToChar(estadoDDL.SelectedValue),
                                                  Nombre1TXT.Text,
                                                  apellidoPatTXT.Text,
                                                  apellidoMatTXT.Text,
                                                  formaPagoDDL.SelectedValue.ToInt(),
                                                  emailTextBox.Text,
                                                  webTextBox.Text,
                                                  contactoTextBox.Text,
                                                  tipoDocumentoDDL.SelectedValue.ToInt(),
                                                  documentoContactoTextBox.Text,
                                                  emailContactoTextBox.Text,
                                                  tipoDocContactoDDL.SelectedValue.ToInt(),
                                                  direccionOficinaTextBox.Text,
                                                  telefonoOficina1TextBox.Text,
                                                  telefonoOficina2TextBox1.Text,
                                                  distritoOficinaTextBox.Text,
                                                  anexoOficinaTextBox.Text,
                                                  faxOficinaTextBox.Text,
                                                  direciconDespTextBox.Text,
                                                  telefono1DespTextBox.Text,
                                                  telefono2DespTextBox.Text,
                                                  distritoDespTextBox.Text,
                                                  anexoDespTextBox.Text,
                                                  faxDespTextBox.Text,
                                                  
                                                   ubigeoTXT.Text,
                                                  tipoAcreedorDDL.SelectedValue,
                                                  giroNegocioDDL.SelectedValue,
                                                  formaPagoGPDDL.SelectedValue,
                                                  clasificacionDDL.SelectedValue,
                                                  detraccionDDL.SelectedValue,
                                                  retencionDDL.SelectedValue,
                                                  monedaDDL.SelectedValue,
                                                  ImporteRendirTXT.Text.ToDecimal().Value,
                                                      areaContactoDDL.SelectedValue,
                                                      contactoPago.Text,
                                                    teleCuentaMNTXX.Text,
                                                    teleCuentaUSTXT.Text,
                                                    teleTipoProductoDDL.SelectedValue,
                                                    teleTipoDocDDL.SelectedValue,
                                                    teleNroDocTXT.Text,
                                                    teleCuentaInterBanTXT.Text,

                                                    interbankCuentaMNTXT.Text,
                                                    interbankCuentaUSTXT.Text,
                                                    InterbanktipoProductoDDL.SelectedValue,
                                                    interbankTipoBonoDDL.SelectedValue,
                                                    InterbankOficinaTXT.Text,
                                                    InterbanktipoDocDDL.SelectedValue,
                                                    interbankNroDocTXT.Text,
                                                    InterbankCuentaInterBankTXT.Text,


                                                    continentalCuentaMNTXT.Text,
                                                    continentalcuentaUSTXT.Text,
                                                    ContinentalformaPagoDDL.SelectedValue,
                                                    continentalTipoCuentaDDL.SelectedValue,
                                                    ContinentaltipoDocDDL.SelectedValue,
                                                    continentalNroDocTXT.Text,
                                                    continentalCuentaInterBanTXT.Text,
                                                    nacionCuentaDetraccionTXT.Text,
                                                    nacionCuentaInterbankTXT.Text,
                                                    
                                                     scotiaCuentaMNTXT.Text,
                                                     scotiaCuentaUSTXT.Text,
                                                     scotiaCuentaInterBanTXT.Text,
                                                     scotiaFormaPagoDDL.SelectedValue
                                                    );


            //}
            //else
            //{
                //bol.UpdatePersona(internalID.Value.ToInt(),
                //                    nombresTXT.Text,
                //                    apellidoPatTxt.Text,
                //                    apellidoMatTXT.Text,
                //                    nacionalidadDDL.SelectedValue.ToInt(),
                //                    tipoDocumentoDDL.SelectedValue.ToInt(),
                //                    documentoIdentidadTXT.Text,
                //                    ocupacionTXT.Text,
                //                    GeneroDDL.SelectedValue.ToInt(),
                //                    convivienteCHK.Checked,
                //                    telefonoTxt.Text,
                //                 celularTXT.Text,
                //                 emailTextBox.Text,
                //                 webTXT.Text,
                //                 faxTXT.Text,
                //                 bitActivoCHK.Checked,
                //                 estadoDDL.SelectedValue.ToInt(),
                //                 correoAlternativoTXT.Text,
                //                 comentarioTXT.Text, direccionTXT.Text,
                //                 referenciaTXT.Text,
                //                 urbanizaiconTXT.Text,
                //                 distritoDDL.SelectedValue.ToInt());

            //}
        }


        protected void btnContinue_OnClick(object sender, EventArgs e)
        {
           
            try
            {
                if ((sender as Button).ID == saveBTN.ID)
                {

                    if (type.Value == "E") { Update(); }
                    if (type.Value == "A") { Insert(); }

                    Response.Redirect("~/Admin/Proveedor/ProveedorReadForm.aspx?id={0}".Fmt(internalid.Value), true);
                }
                if ((sender as Button).ID == cancelarBTN.ID)
                {
                    Response.Redirect(paginaAnt.Value, true);
                }
                if ((sender as Button).ID == refreshBTN.ID)
                {
                    FormatForm();
                }
               

            }
            catch (SqlException sqlex)
            {
                WebServerSideSqlError.Log(sqlex);

                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + sqlex.Message.Replace("'", "") + "');", true);


            }
            catch (Exception ex)
            {
                WebServerSideError.Log(ex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                     "uniqueKey" + DateTime.Now, "alert('" + ex.Message.Replace("'", "") + "');", true);

            }




        }
        private void ShowAllComboBox()
        {
            
                 var q= DbUtil.Db.FormaPago;
                 var w = DbUtil.Db.TipoDocumentos;
            var  lista= new ListValueBL();
                

            //tipoAnexoDDL.DataSource=
            //estadoDDL
            //tipoPersonaDDL
            //tipoDocumentoDDL
            //formaPagoDDL


            formaPagoDDL.DataTextField = "descripcion";
            formaPagoDDL.DataValueField = "idInternal";
            formaPagoDDL.DataSource = q;
            formaPagoDDL.DataBind();

            tipoDocContactoDDL.DataTextField = "descripcion";
            tipoDocContactoDDL.DataValueField = "idinternal";
            tipoDocContactoDDL.DataSource = w;
            tipoDocContactoDDL.DataBind();

            // tipoAnexoDDL.DataTextField = "descripcion";
            //tipoAnexoDDL.DataValueField = "idInternal";
            //tipoAnexoDDL.DataSource = new ListValueBL().GetTipoAnexoProveedor();
            //tipoAnexoDDL.DataBind();


            tipoDocumentoDDL.DataTextField = "descripcion";
            tipoDocumentoDDL.DataValueField = "idinternal";
            tipoDocumentoDDL.DataSource = w;
            tipoDocumentoDDL.DataBind();
            tipoDocumentoDDL.SelectedValue = "5";

            clasificacionDDL.DataTextField = "descripcion";
            clasificacionDDL.DataValueField = "idInternalStr";
            clasificacionDDL.DataSource = lista.GetClasificacionProveedor();
            clasificacionDDL.DataBind();


             
            retencionDDL.DataTextField = "descripcion";
            retencionDDL.DataValueField = "idInternalStr";
            retencionDDL.DataSource = lista.GetRetencion();
            retencionDDL.DataBind();


            formaPagoGPDDL.DataTextField = "descripcion";
            formaPagoGPDDL.DataValueField = "idInternalStr";
            formaPagoGPDDL.DataSource = lista.GetFormaPagoGesPag();
            formaPagoGPDDL.DataBind();

            giroNegocioDDL.DataTextField = "descripcion";
            giroNegocioDDL.DataValueField = "idInternalStr";
            giroNegocioDDL.DataSource = lista.GetGiroNegocio();
            giroNegocioDDL.DataBind();


            tipoAcreedorDDL.DataTextField = "descripcion";
            tipoAcreedorDDL.DataValueField = "idInternalStr";
            tipoAcreedorDDL.DataSource = lista.GetTipoAcreedor();
            tipoAcreedorDDL.DataBind();


            areaContactoDDL.DataTextField = "descripcion";
            areaContactoDDL.DataValueField = "idInternalStr";
            areaContactoDDL.DataSource = lista.GetAreContactoPago();
            areaContactoDDL.DataBind();

            detraccionDDL.DataTextField = "descripcion";
            detraccionDDL.DataValueField = "idInternalStr";
            detraccionDDL.DataSource = lista.GetDetraccion();
            detraccionDDL.DataBind();


            InterbanktipoDocDDL.DataTextField = "descripcion";
            InterbanktipoDocDDL.DataValueField = "idInternalStr";
            InterbanktipoDocDDL.DataSource = lista.GetTipoDocInterbank();
            InterbanktipoDocDDL.DataBind();

            interbankTipoBonoDDL.DataTextField = "descripcion";
            interbankTipoBonoDDL.DataValueField = "idInternalStr";
            interbankTipoBonoDDL.DataSource = lista.GetTipoBonoBank();
            interbankTipoBonoDDL.DataBind();


            InterbanktipoProductoDDL.DataTextField = "descripcion";
            InterbanktipoProductoDDL.DataValueField = "idInternalStr";
            InterbanktipoProductoDDL.DataSource = lista.GetTipoProductoInterBank();
            InterbanktipoProductoDDL.DataBind();

            //scotiaFormaPagoDDL.DataTextField = "descripcion";
            //scotiaFormaPagoDDL.DataValueField = "idInternalStr";
            //scotiaFormaPagoDDL.DataSource = lista.GetTipoProductoInterBank();
            //scotiaFormaPagoDDL.DataBind();
          

           


            teleTipoDocDDL.DataTextField = "descripcion";
            teleTipoDocDDL.DataValueField = "idInternalStr";
            teleTipoDocDDL.DataSource = lista.GetTipoDocTelecredito();
            teleTipoDocDDL.DataBind();

            teleTipoProductoDDL.DataTextField = "descripcion";
            teleTipoProductoDDL.DataValueField = "idInternalStr";
            teleTipoProductoDDL.DataSource = lista.GetTipoProductoTelecredito();
            teleTipoProductoDDL.DataBind();


            ContinentaltipoDocDDL.DataTextField = "descripcion";
            ContinentaltipoDocDDL.DataValueField = "idInternalStr";
            ContinentaltipoDocDDL.DataSource = lista.GetTipoDocContinental();
            ContinentaltipoDocDDL.DataBind();

            ContinentalformaPagoDDL.DataTextField = "descripcion";
            ContinentalformaPagoDDL.DataValueField = "idInternalStr";
            ContinentalformaPagoDDL.DataSource = lista.GetFormaPagoContinental();
            ContinentalformaPagoDDL.DataBind();
                 
        }

        private void editObject()
        {
            dbGestionDataContext _db = new dbGestionDataContext(Parametros.strConnString);
            DAL.Proveedor proveedor = _db.Proveedors.Single(p => p.idInternal == int.Parse(internalid.Value));


            descripcionTextBox.Text=proveedor.descripcion;

            if (proveedor.idFormaPago != null)
            {
                formaPagoDDL.SelectedValue = proveedor.idFormaPago.ToString();
            }

            
            
            emailTextBox.Text = proveedor.email;
            webTextBox.Text = proveedor.web;
            rucTextBox.Text = proveedor.ruc;
            abreviacionTXT.Text = proveedor.abreviacion;
            //--------------
            tipoProveedorDDL.SelectedValue = proveedor.tipo.ToString();
            swithtipoProveedor();
            tipoProveedorDDL.Enabled = false;
            //---------------

            tipoDocumentoDDL.SelectedValue = proveedor.tipoDocumento.ToString();
            Nombre1TXT.Text = proveedor.nombre;
            apellidoMatTXT.Text = proveedor.apellidoMat;
            apellidoPatTXT.Text = proveedor.apellidoPat;
            tipoDocumentoDDL.Enabled = false;
            BuscarRUCTXT.Text = proveedor.ruc;
            //------------------------------------------------
            contactoTextBox.Text = proveedor.contacto;
           // var f = DbUtil.Db.TipoDocumentos.SingleOrDefault(p => p.idInternal == proveedor.tipoDocContacto.ToInt());
            tipoDocContactoDDL.SelectedValue = proveedor.tipoDocContacto.ToString();
            documentoContactoTextBox.Text = proveedor.docContacto;
            emailContactoTextBox.Text = proveedor.emailContacto;

            rucTextBox.Enabled = false;
            //-------------------------------------------------

            direccionOficinaTextBox.Text = proveedor.direccionOficina;
            telefonoOficina1TextBox.Text = proveedor.telefonoOficina1;
            telefonoOficina2TextBox1.Text = proveedor.telefonoOficina2;
            distritoOficinaTextBox.Text = proveedor.distritoOficina;
            anexoOficinaTextBox.Text = proveedor.anexoOficina;
            faxOficinaTextBox.Text = proveedor.faxOficina;
            
            //---------------------------------------------------
            direciconDespTextBox.Text = proveedor.direccionDesp;
            telefono1DespTextBox.Text = proveedor.telefonoDesp1;
            telefono2DespTextBox.Text = proveedor.telefonoDesp2;
            distritoDespTextBox.Text = proveedor.distritoDesp;
            anexoDespTextBox.Text = proveedor.anexoDesp;
            faxDespTextBox.Text = proveedor.faxDesp;
           


            //DATOS PROVEEDOR
            clasificacionDDL.SelectedValue=proveedor.clasificacion;
            tipoAcreedorDDL.SelectedValue=proveedor.tipoAcreedor;
            formaPagoGPDDL.SelectedValue=proveedor.formaPagoG;
            detraccionDDL.SelectedValue=proveedor.detraccion;
            ImporteRendirTXT.Text=proveedor.importeRendir.ToString();
            monedaDDL.SelectedValue=proveedor.importeMoneda;
            giroNegocioDDL.SelectedValue=proveedor.giroNegocio;
            areaContactoDDL.SelectedValue=proveedor.areaContactoPago;

            contactoPago.Text=proveedor.contactoPago;
            retencionDDL.SelectedValue=proveedor.retencion;

var proveedorCuenta=DbUtil.Db.ProveedorCuentas.SingleOrDefault(p=>p.idProveedor==proveedor.idInternal);

if (proveedorCuenta != null)
{

    teleCuentaMNTXX.Text = proveedorCuenta.teleCuentaSOL;
    teleCuentaUSTXT.Text = proveedorCuenta.teleCuentaDOL;
    teleCuentaInterBanTXT.Text = proveedorCuenta.teleInterBan;
    teleTipoProductoDDL.SelectedValue = proveedorCuenta.teleTipoProducto.ToString();
    teleTipoDocDDL.SelectedValue = proveedorCuenta.teleTipoDoc.ToString();
    teleNroDocTXT.Text = proveedorCuenta.teleDocumento;
    interbankCuentaMNTXT.Text = proveedorCuenta.IntcuentaSOL;
    interbankCuentaUSTXT.Text = proveedorCuenta.intcuentaDOL;
    InterbankCuentaInterBankTXT.Text = proveedorCuenta.intInterBan;
    InterbankOficinaTXT.Text = proveedorCuenta.intOficina;
    InterbanktipoProductoDDL.SelectedValue = proveedorCuenta.intTipoProducto;
    interbankTipoBonoDDL.SelectedValue = proveedorCuenta.intTipoBono;
    InterbanktipoDocDDL.SelectedValue = proveedorCuenta.intTipoDocumento;
    interbankNroDocTXT.Text = proveedorCuenta.intNroDocumento;

    continentalCuentaMNTXT.Text = proveedorCuenta.continentCuentaSOL;
    continentalcuentaUSTXT.Text = proveedorCuenta.continentCuentaDOL;
    continentalCuentaInterBanTXT.Text = proveedorCuenta.continentInterBan;
    ContinentalformaPagoDDL.SelectedValue = proveedorCuenta.continentFormaPago.ToString();
    continentalTipoCuentaDDL.SelectedValue = proveedorCuenta.continentTipoCuenta;
    ContinentaltipoDocDDL.SelectedValue = proveedorCuenta.continenttipoDoc.ToString();
    continentalNroDocTXT.Text = proveedorCuenta.continentNroDoc;


    nacionCuentaDetraccionTXT.Text = proveedorCuenta.nacionDetraccion;
    nacionCuentaInterbankTXT.Text = proveedorCuenta.nacionInterBan;

    //DATOS CUENTAS

}


        }

        private void FormatForm()
        {

            //--------------------
            int idEmpleadoEmisor = int.Parse(System.Web.HttpContext.Current.Session["idEmpleado"].ToString());
            bool acceso = new DAL.FormularioAcceso().VerificarAcceso(DbUtil.Db,
                idEmpleadoEmisor,
                11, //Proveeedor
                3); //lectura
            //------------------------- 
            // los paneles presentes en el formulario
            Panel2.Visible = true;
            PanelBody.Visible=true;
            PanelButtom.Visible = true;

            //si tiene acceso a visualizar esta informacion

            informacionPagoTAB.Visible = true;
            tipoDocumentoDDL.Enabled = false;

            ShowAllComboBox();

            if (type.Value == "E")
            {
                editObject();
                rucsunatPNL.Visible = false;
            }
            if (type.Value == "A")
            {
                //bitActivoCHK.Checked = true;
                swithtipoProveedor();
            
            }

          



            //restricionesForm();


            //AddPartidaButton.OnClientClick =
            //  WindowPartida.
            //  GetShowReference("../ObraAdmin/PartidaAdicionInsertForm.aspx?id=0&accion=Insert&ds=" + idobjectdsLabel.Text.ToString(), "Registro de Partida") + "return false;";

        }

        protected void refreshPartida_Click(object sender, EventArgs e)
        {
            try
            {
                FormatForm();
            }
            catch (SqlException sqlex)
            {
                WebServerSideSqlError.Log(sqlex);

                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + sqlex.Message.Replace("'", "") + "');", true);


            }
            catch (Exception ex)
            {
                WebServerSideError.Log(ex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                     "uniqueKey" + DateTime.Now, "alert('" + ex.Message.Replace("'", "") + "');", true);

            }


        }

        private void swithtipoProveedor()
        {

            string tipoProv = tipoProveedorDDL.SelectedValue;
            if (tipoProv=="J")
            {
                juridicoPNL.Visible = true;
                NaturalPNL.Visible = false;
                //tipoUPNL.Update();
            }
            else
            {
                juridicoPNL.Visible = false;
                NaturalPNL.Visible = true;
                // tipoUPNL.Update();
            }
        }

        protected void tipoProveedorDDL_SelectedIndexChanged(object sender, EventArgs e)
        {

         try
            {
                swithtipoProveedor();
            }
            catch (SqlException sqlex)
            {
                WebServerSideSqlError.Log(sqlex);

                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + sqlex.Message.Replace("'", "") + "');", true);


            }
            catch (Exception ex)
            {
                WebServerSideError.Log(ex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                     "uniqueKey" + DateTime.Now, "alert('" + ex.Message.Replace("'", "") + "');", true);

            }


            
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            //try
            //{

            
            ////depende si es juridico/natural


            //if (BuscarRUCTXT.Text.ToInt() > 0 | BuscarRUCTXT.Text.Length!=11)
            //{
            //    mensajeTXT.Text="El RUC no es valido,Verifique";
            //}

            //              string WEB = @"http://www.sunat.gob.pe/w/wapS01Alias?ruc=" + BuscarRUCTXT.Text.Trim();
            ////----------------
            
            // HttpWebRequest req = (HttpWebRequest)HttpWebRequest .Create(WEB) ;
            // HttpWebResponse resp = (HttpWebResponse)req.GetResponse() ;
 
            //StreamReader sr = new StreamReader(resp.GetResponseStream(),true);
            //XmlDocument xDoc = new XmlDocument();
            //string result = sr.ReadToEnd().Replace("\n", "").Replace("\r", "").Replace("<br />", "").Replace("<br/>", "");
            //                                                                //para el caso de 

            //sr.Close();

            // result=result.Replace("<b>SI<b/>","SI").Replace("<b>NO<b/>","NO");
            // result = result.Replace("<b>SI<b/>", "SI").Replace("<b>NO<b/>", "NO");
            // result = result.Replace("<strong>SI</strong>", "SI").Replace("<strong>NO</strong>", "NO");
            // result = result.Replace("<strong>", "<b>").Replace("</strong>", "</b>");

            // xDoc.LoadXml(result);
 
             

            // XmlNodeList personas = xDoc.GetElementsByTagName("small");
            // List<Listavalue> lista = new List<Listavalue>();
            // foreach (XmlElement nodo in personas)
            // {
            //     Listavalue nuevo = new Listavalue();
            //     int i = 0;
            //     XmlNodeList linea = nodo.GetElementsByTagName("b");
            //     if (linea.Count == 0)
            //         continue;

            //     nuevo .cambio= linea.Item(0).InnerXml;
            //     nuevo.valor = linea.Item(0).NextSibling != null ?linea.Item(0).NextSibling.Value:"";
            //     lista.Add(nuevo);
            // }
            //         descripcionTextBox.Text = string.Empty;
            //         abreviacionTXT.Text = string.Empty;
            //         rucTextBox.Text = string.Empty;
            //         apellidoPatTXT.Text = string.Empty;
            //         apellidoMatTXT.Text = string.Empty;
            //         Nombre1TXT.Text = string.Empty;

            //           if (lista.Count>0)
            //           {

            //               int ruc = 0;
            //               if (int.TryParse(lista.First().valor.Substring(0, 2), out ruc))
            //               {
            //                   var s = lista.Where(p => p.cambio.Contains("Tipo.")).First();
                               
            //                   if (s.valor.Trim().Substring(0, 3).ToUpper() == "PER")
            //                   {
            //                       //siempre el primero tiene los valores
            //                       Nombre1TXT.Text = lista.First().valor.Substring(15);
            //                       apellidoPatTXT.Text = string.Empty;
            //                       apellidoMatTXT.Text = string.Empty;
            //                       rucTextBox.Text = lista.First().valor.Substring(0, 12);
            //                       tipoProveedorDDL.SelectedValue = "N";
            //                       tipoDocumentoDDL.SelectedValue = "5";

            //                   }
            //                   else
            //                   {
            //                       //siempre el primero tiene los valores
            //                       descripcionTextBox.Text = lista.First().valor.Substring(15);
            //                       abreviacionTXT.Text = lista.First().valor.Substring(15);
            //                       rucTextBox.Text = lista.First().valor.Substring(0, 12).Trim();
            //                       tipoProveedorDDL.SelectedValue = "J";
            //                       tipoDocumentoDDL.SelectedValue = "5";
            //                   }
            //                   //siempre el primero tiene los valores
            //                                if (lista.Where(p => p.cambio == "Teléfono(s).").Count() > 0)
            //                                {
            //                                    telefonoOficina1TextBox.Text = lista.Where(p => p.cambio == "Teléfono(s).").First().valor;
                                             
            //                                }
            //                                if (lista.Where(p => p.cambio == "Dirección.").Count() > 0)
            //                                {
            //                                    direccionOficinaTextBox.Text = lista.Where(p => p.cambio == "Dirección.").First().valor;

            //                                }

            //                   direccionUPNL.Update();
            //                   swithtipoProveedor();
                              
            //               }
            //               {
            //                   mensajeTXT.Text = lista.First().valor;
            //               }
            //           }
            //           else
            //           {

            //           }

                   
            //           //Nombre1TXT
            //             //   apellidoPatTXT
            //               // tipoDocumentoDDL.SelectedValue="6";
                   

             
            // //return result;
            //}
            //catch (SqlException sqlex)
            //{
            //    WebServerSideSqlError.Log(sqlex);

            //    ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
            //     "uniqueKey" + DateTime.Now, "alert('" + sqlex.Message.Replace("'", "") + "');", true);


            //}
            //catch (Exception ex)
            //{
            //    WebServerSideError.Log(ex);
            //    ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
            //         "uniqueKey" + DateTime.Now, "alert('" + ex.Message.Replace("'", "") + "');", true);

            //}



        }


           
        }


    }
